Fast Serial - Append File I / O Mode Support for Cilk
نویسنده
چکیده
Apart from resources, such as memory and processors, parallel computations also require file I/O. There exist a number of interesting file I/O modes, depending on the specific application. One particularly interesting file I/O mode is serial-append, described in [5]. In this mode the file output of a parallel computation, executed on any number of processors, is “the same” as the output of the sequential, single processor execution. Cheerio, an implementation of serial-append presented in [5], uses a special formated file where ordering metadata about the parallel execution of the computation is saved together with the actual data. This allows for later reconstruction of the output of the sequential execution. The algorithm described in [5] uses a single mutex-ed counter that allows a worker processor to obtain a new node to write to, when a steal operation occurs in Cilk’s scheduler. Additional locking mechanisms are also performed by Cilk’s Runtime System in order to correctly maintain the order of the structure required by Cheerio. Due to the high overhead of the steal operation this method does not scale up with the number of processors.
منابع مشابه
F2FS: A New File System for Flash Storage
F2FS is a Linux file system designed to perform well on modern flash storage devices. The file system builds on append-only logging and its key design decisions were made with the characteristics of flash storage in mind. This paper describes the main design ideas, data structures, algorithms and the resulting performance of F2FS. Experimental results highlight the desirable performance of F2FS...
متن کاملThe Design and Implementation of a MPI-Based Parallel File System
This paper presents the design of an MPI (Message Passing Interface)-based parallel file system, MPFS. MPI-IO is an extension of MPI which supports flexible logical file partition and physical file organization as well as a rich set of file access functions. MPFS enables users to specify both logical file partitions among user processes and physical file data layouts across data servers. The pr...
متن کاملApplication-Managed Flash
In flash storage, an FTL is a complex piece of code that resides completely inside the storage device and is provided by the manufacturer. Its principal virtue is providing interoperability with conventional HDDs. However, this virtue is also its biggest impediment in reaching the full performance of the underlying flash storage. We propose to refactor the flash storage architecture so that it ...
متن کاملPortable and Scalable MPI Shared File Pointers
While the I/O functions described in the MPI standard included shared file pointer support from the beginning, the performance and portability of these functions have been subpar at best. ROMIO [1], which provides the MPI-IO functionality for most MPI libraries, to this day uses a separate file to manage the shared file pointer. This file provides the shared location that holds the current valu...
متن کاملA The Quantcast File System
The Quantcast File System (QFS) is an efficient alternative to the Hadoop Distributed File System (HDFS). QFS is written in C++, is plugin compatible with Hadoop MapReduce, and offers several efficiency improvements relative to HDFS: 50% disk space savings through erasure coding instead of replication, a resulting doubling of write throughput, a faster name node, support for faster sorting and ...
متن کامل